Computer generated holograms

ABSTRACT

A method of generating a binary computer generated hologram for use in displaying a holographic image, the method comprising the steps of generating a complex modulation computer generated hologram corresponding to a desired reply object, transforming the complex modulation computer generated hologram into a real positive computer generated hologram, and transforming the real positive computer generated hologram into a binary computer generated hologram by comparing each element of the real positive computer generated hologram with at least one neighboring element and replacing the compared element with a binary value which depends upon the result of the comparison.

BACKGROUND OF THE INVENTION

(1) Field of the Invention

The present invention relates to a method of generating computergenerated holograms.

(2) Description of the Art

It is well known that a three-dimensional image may be presented byforming an interference pattern or hologram on a planer surface. Thethree-dimensional image is visible when the hologram is appropriatelyilluminated. Recently, interest has grown in so-called computergenerated holograms (CGHs) which offer the possibility of displayinghigh quality images, which need not be based upon real objects, withappropriate depth cues and without the need for viewing goggles.Interest is perhaps most intense in the medical and design fields wherethe need for realistic visualisation techniques is great.

Typically, a computer generated hologram involves the generation of amatrix of data values (each data value corresponding to a lighttransmission level) which simulates the hologram which might otherwisebe formed on a real planer surface. The matrix is applied to some mediumsuitable for displaying the CGH such as a Spatial Light Modulator (SLM)which may be, for example, a two-dimensional array of liquid crystalelements or of acousto-optic modulators. Coherent light is directed ontothe SLM using for example a laser such that the resulting output, eitherreflected from the SLM or transmitted through the SLM, is a modulatedlight pattern. An example of an SLM is an Electrically Addressable SLM(EASLM).

FIG. 1 illustrates a system for producing a holographic image using aCGH. Light from a point source 1 is collimated by optics 2 and directedtowards a beamsplitter 3. Light is reflected by the beamsplitter 3 ontothe surface of a spatial light modulator (SLM) 4 which is used todisplay the CGH. Replay optics 5, 6 direct light reflected from the SLM4 to an image region where the image 7 is displayed. A so-calledconjugate image 8 also appears in this region. In this arrangement, theSLM 4 may be an optically addressed SLM or an electrically addressedSLM.

An ideal CGH has complex light modulation, where ‘complex’ is referringto complex numbers (with real and imaginary parts) which can be used todescribe both the amplitude and phase of the light. In principle, such aCGH would be capable of replaying a perfect image. Previously reportedalgorithms capable of designing such a CGH include the Coherent RayTrace (CRT), the Ping-pong method and the Diffraction Specific (DS)method. CRT and the Ping-pong method involve propagating light reflectedfrom a simulated 3D object to a CGH plane. The amplitude and phase ofthe wavefront at the CGH plane is then used to determine the CGH pixeltransmission values. CRT makes use of ray tracing to calculate thepropagation of the wavefront whilst the Ping-pong method makes use ofFourier transforms. The DS method is different in that it makes use ofpre-computed look-up tables to determine the CGH pixel transmissionvalues that will enable a particular 3D image to be displayed.

It is very difficult to obtain fully complex SLMs. SLMs suitable for thedisplay of CGHs typically have constrained light modulation abilities.For example they may only be able to modulate the amplitude of light oronly its phase. It is particularly desirable to be able to display CGHson SLMs with only binary modulation (each pixel having only an on or offstate) as these are relatively simple to fabricate. Constraining thelight modulation values of the CGH so that it may be displayed on suchSLMs generally results in an increase in noise in the replayed image. Anintuitive explanation for this is that constrained modulation CGHscontain less ‘information’.

Algorithms exist that enable constrained modulation CGHs to be designedthat replay images either with reduced noise or where the location ofthe noise can be controlled, e.g. shifted away from the target image.For example, Projection Onto Constraint Sets (POCS) and Direct BinarySearch (DBS) can be used to generate a suitably constrained CGH. Thesealgorithms rely upon the use of a “target image” in order to design thefinal CGH, and try to minimise the errors resulting from a mapping of acontinuous set of transmission value pixels to a corresponding binaryset. The hologram is optimised so that it results in the replay of animage as close as possible to the target image (some form of meritfunction is used to measure the quality/fidelity of the replay). Thisprocess places an additional heavy load on the available computerprocessing power, particularly as binarising algorithms which producelow noise results tend to be iterative.

The ‘target image’ is typically a complex wavefront in some 2D region ofspace. It is described simply by a matrix of complex numbersrepresenting the amplitude and phase of the wavefront at sample points.When this wavefront propagates through space and is detected by aviewer's eyes, a 3D image is perceived as though the wavefront hadoriginated from a real 3D object. This target image may be determinedfrom the replay of a CGH designed by the CRT, Ping-pong or DSalgorithms.

For a display system based on a CGH, the complexity of the SLM, in termsof the number of pixels required, is determined both by the requiredimage size and angle of view (the angle over which the 3D image can beseen by a viewer). Particularly for multi-viewer systems, which tend toneed large viewing angles, this results in a need for a large numbers ofpixels (e.g. 10¹⁰ pixels for a workstation application). Even forextremely powerful computers, the complete computation process, that mayinclude ray tracing and binarisation with POCS, can take many hours.Such mechanisms are not suitable for practical real time or near realtime applications.

Attempts have been made to break the CGH computation process intosmaller blocks to make the problem more tractable. These involvecalculating a number of small sub-holograms or sub-CGHs which are then“stitched” together to form the final desired large CGH. For example,the article “Iterative interlacing approach for synthesis of computergenerated holograms”, O. K Ersoy, J. Y. Zhuang & J. Brede, AppliedOptics, Vol. 31 No. 32, November 1992, describes a process in which afirst sub-hologram is designed which provides a noisy image. Furthersub-holograms are added which successively reduce noise. This processhowever requires sequential processing of the sub-holograms and is notsuited to parallel processing. Other approaches are described in “Fastdecimation in frequency direct binary search algorithms for synthesis ofcomputer generated holograms”, J-K. Zhuang & O. K. Ersoy, J. Opt. Soc.Am. A, Vol. 11, No. 1, January 1994; “Optimal decimation in frequencyiterative interlacing technique for synthesis of computer generatedholograms”, J-Y. Zhuang & O. K. Ersoy, J. Opt. Soc. Am. A, Vol. 12 No.7, July 1995; and “Error reduction of quantised kinoforms by means ofincreasing the kinoform size”, S. Yang & T. Shimomura, Applied Optics,Vol. 37 No. 29, October 1998.

There remains a need for a method of generating binary CGHs which allowsCGHs to be generated in real time or near real time. The presentinvention aims to satisfy this need based upon the recognition that theinformation in a hologram is contained in the slope or gradient of thehologram fringes, the fringes being proportional to the interferencepattern which the hologram records.

SUMMARY OF THE INVENTION

According to a first aspect of the present invention there is provided amethod of generating a binary computer generated hologram for use indisplaying a holographic image, the method comprising the steps of:

generating a complex modulation computer generated hologramcorresponding to a desired replay object;

transforming the complex modulation computer generated hologram into areal positive computer generated hologram; and

transforming the real positive computer generated hologram into a binarycomputer generated hologram by comparing each element of the realpositive computer generated hologram with at least one neighbouringelement and replacing the compared element with a binary value whichdepends upon the result of the comparison.

Embodiments of the invention are capable of generating binary CGHs intimes which are substantially shorter than the times taken byconventional methods to generate equivalent CGHs. The binary CGHsgenerated by these embodiments are at least equivalent in quality tothose generated by conventional methods.

The step of transforming the complex modulation computer generatedhologram into a real positive computer generated hologram may comprisereplacing each complex element of the CGH with its real part.Alternatively, each complex element may be replaced with only thecomplex part, or with the absolute value or argument of the complexelement, or a method involving modulation of the complex CGH with acosinusoidal carrier frequency may be used.

The step of comparing each element of the real positive computergenerated hologram with at least one neighbouring element and replacingthe compared element with a binary value which depends upon the resultof the comparison, preferably comprises determining whether an elementis greater than or less than the neighbouring element. In the event thatthe element is greater than the neighbouring element, the element isreplaced with the binary value 1, otherwise it is replaced with thebinary value 0.

Preferably, said step of generating a first complex modulation computergenerated hologram corresponding to a desired replay object comprisesdefining a signal plane and placing a region of interest containing thedesired replay object within the signal plane, on one side of a line ofsymmetry of the signal plane. Comparisons between elements are made indirections parallel to the line of symmetry in the signal plane. That isto say that an element is compared with a neighbouring element lying inthe same, parallel direction.

In certain embodiments of the present invention, the complex modulationcomputer generated hologram may be sub-divided into a plurality ofsub-holograms, with each complex modulation sub-hologram beingtransformed into a real positive computer generated sub-hologram. Eachreal positive computer generated sub-hologram is then transformed into abinary computer generated sub-hologram. By processing each of thesub-holograms in parallel, the CGH generation process can be acceleratedconsiderably.

It will be appreciated that the data for the desired replay object maybe obtained from a real object, captured for example using a digitalimaging system, or it may be simulated, generated for example using acomputer aided design process.

The step of generating a complex modulation computer generated hologramcorresponding to the replay object may comprise using the CRT, DS orping-pong algorithm to produce a full complex modulation or grey scaleamplitude modulation computer generated hologram. Where an object can bedescribed by a mathematically, a complex modulation computer generatedhologram may be obtained by applying a Fourier transform to themathematical description.

According to a second aspect of the present invention there is providedan electronic storage medium having stored thereon a computer generatedhologram computed using the method of the first aspect of the presentinvention.

According to a third aspect of the present invention there is providedan electronic storage medium having stored thereon a program for causinga computer to:

generate a complex modulation computer generated hologram correspondingto a desired replay object;

transform the complex modulation computer generated hologram into a realpositive computer generated hologram; and

transform the real positive computer generated hologram into a binarycomputer generated hologram by comparing each element of the realpositive computer generated hologram with at least one neighbouringelement and replacing the compared element with a binary value whichdepends upon the result of the comparison.

DESCRIPTION OF THE FIGURES

For a better understanding of the present invention and in order to showhow the same may be carried into effect reference will now be made, byway of example, the accompanying drawings, in which:

FIG. 1 illustrates schematically a simplified holographic display;

FIG. 2 illustrates a desired 2D replay object located within a signalplane;

FIG. 3 illustrates the 2D replay object of FIG. 2 located within areplay plane; and

FIG. 4 is a flow diagram illustrating a method of generating a binaryCGH for display with the display of FIG. 1.

DESCRIPTION OF A PREFERRED EMBODIMENT

A display for displaying a holographic image using a computer generatedhologram (CGH) has been described with reference to FIG. 1. There willnow be described a method of generating a CGH for use with such adisplay (or other types of holographic display).

As illustrated in FIG. 2, the starting point for the CGH generationprocess is a desired replay object for which it is desired to generatethe CGH. For reasons of simplicity and to more clearly illustrate theCGH computation process, the replay object illustrated in FIG. 2 is a 2Dobject. The replay object is located within a region of interest (ROI),having a size n×m pixels, which is in turn located within a signal planehaving a size N×M pixels. In this example, the ROI is surrounded by azero padded area within the signal plane. This is done in anticipationthat an empty region is going to be required to locate ‘binarisationnoise’. Typically this object is a simulated object held in the memoryof a computer. For example, the object may be a car designed using a CADapplication. The 3D spatial co-ordinates of the object are known.

Using a method such as CRT (Cameron C D, Pain D A, Slinger C W,“Computational challenges of emerging novel true 3D holographicdisplays”, SPIE Vol. 4109. August 2000) or the ping-pong method (IchiokaY, Izumi M, Suzuki Y, “Scanning halftone plotter and computer-generatedcontinuous tone hologram”, Appl. Opt. 10, 403–11, 1971), a “perfect” CGHis generated which may be a full complex modulation or at least greyscale amplitude modulation. Each element in the CGH array comprises areal and imaginary component (or amplitude and phase component). If itwere possible to provide a complex modulation or grey scale amplitudeSLM then this CGH could of course be used directly to display the targetimage. However, in practice it is very desirable to be able to usebinary SLMs. The CGH must therefore be binarised (i.e. each elementconverted to a binary on/off value).

As explained above, a first step in this process is to replace eachcomplex element of the CGH with a real positive value. It has been foundthat the best approach is to merely replace each complex element withthe real part of the element, discarding the imaginary part. However,other approaches my provide satisfactory results. Once the real positiveCGH array has been generated, the binarisation process can proceed.

The information stored in a hologram is contained in the slopes(gradients) of the fringes which are proportional to the interferencepattern which the hologram records. For a binary CGH, this informationis actually stored in the phase transitions between neighbouringelements rather than in the element transmission values themselves.Hence, in binarising a CGH it is important to retain as much as possiblethe gradient distribution of the fringe pattern—the actual transmissionvalues are unimportant.

Binarisation is carried out by comparing each element of the realpositive CGH with a neighbouring element. For example, if CGH_(x,y) isan element of the real positive CGH array located at position x,y

-   -   IF CGH_(x,y)>CGH_(x,y+1) then CGH_(x,y)=1, ELSE CGH_(x,y)=0.

A by-product of calculating the gradient can be the appearance of a darkband across the replay plane. This arises because the operation ofcomparing neighbouring nodes is equivalent to the shifting of the signalspectrum array by one pixel in a given direction and the subtraction ofthis array from the original array. Shifting the spectrum array by onepixel introduces a phase shift which means that the image in the replaywill have a linear blazed phase across it. Subtracting the (real) imagefrom the image having the blazed phase across it means that differentparts of the result will be in or out of phase, equivalent to asinusoidal modulation being encoded into the CGH and hence a dark bandappearing in the replay plane. A dark band appearing in the replay imagemay degrade the quality of the replay image.

In order to mitigate the effects of this problem it is necessary tochoose carefully the direction in which element comparisons are carriedout so that the dark band does not overlap with the ROI. The ‘preferreddirection is parallel to a line of symmetry in the replay plane. Withreference to FIG. 3, there is illustrated the replay plane 1 containingthe first order replay 2, a complex conjugate of first order 3, and a dcspot 9. A line of symmetry 5 can be identified extending from the topleft hand corner as viewed in the FIG., to the bottom right hand corner.The process of binarisation commences for example at the element at thebottom left corner of the real positive CGH array. As this element hasno neighbour in the direction parallel to the line of symmetry it iscompared to the element at the top right corner (this arises as aFourier transform assumes that the CGH structure is periodic, with theCGH being repeated at each edge). The element is replaced with a binaryvalue dependent upon the result (as described above). The processcontinues, proceeding along lines parallel to the line of symmetry 5,until finally the element at the top right corner has been binarised. Aswith the first element, elements at the end of a processed line ofelements are compared with elements at the same point on the oppositeedge of the CGH. The result of processing the CGH in this way is thatthe dark band 6 appears parallel to the line of symmetry 5 in the replayplane 1, and does not overlap with the replay image 2. By viewing thereplay plane through an appropriately sized viewer, the conjugate imageand the dark band, as well as the dc spot, can be blocked withoutinterfering with the ROI.

The method described above is referred to as Gradient Matching or GRAMand is further illustrated by the flow diagram of FIG. 4. It is notedthat as GRAM operates on a fringe pattern determined by any method, itignores any ROI which was considered during the calculation of thetarget signal's spectrum. In addition to the increased processing speed,GRAM therefore has an important advantage over the other direct encodingmethod known as error diffusion, as error diffusion needs to know wherethe ROI is located within the replay plane in order to design theoptimum diffusion weights. The GRAM replay tends to be brighter and lessnoisy than the equivalent replay resulting from error diffusion.

It will be appreciated by the person of skill in the art that variousmodifications may be made to the above described embodiment withoutdeparting from the scope of the present invention.

1. A method of generating a binary computer generated hologram for usein displaying a holographic image, the method comprising the steps of:generating a complex modulation computer generated hologramcorresponding to a desired replay object; transforming the real positivecomputer generated hologram into a complex modulation computer generatedhologram; and transforming the real positive computer generated holograminto a binary computer generated hologram by comparing each element ofthe real positive computer generated hologram with at least oneneighbouring element and replacing the compared element with a binaryvalue which depends upon the result of the comparison.
 2. A methodaccording to claim 1, wherein the step of transforming the complexmodulation computer generated hologram into a real positive computergenerated hologram comprises replacing each complex element of thecomputer generated hologram with its real part.
 3. A method according toclaim 1, wherein the step of comparing each element of the real positivecomputer generated hologram with at least one neighbouring element andreplacing the compared element with a binary value which depends uponthe result of the comparison, comprises determining whether an elementis greater than or less than the neighbouring element and, in the eventthat the element is greater than the neighbouring element, the elementis replaced with the binary value 1, otherwise it is replaced with thebinary value
 0. 4. A method according to claim 1, wherein said step ofgenerating a first complex modulation computer generated hologramcorresponding to a desired replay object comprises defining a signalplane and placing a region of interest containing the desired replayobject within the signal plane, on one side of a line of symmetry of thesignal plane, with comparisons between elements being made in directionsparallel to the line of symmetry in the signal plane.
 5. A methodaccording to claim 4, wherein said line of symmetry is a straight lineextending from a first to a second corner of the signal plane.
 6. Anelectronic storage medium having stored thereon a computer generatedhologram computed using the method of claim
 1. 7. An electronic storagemedium having stored thereon a program for causing a computer to:generate a complex modulation computer generated hologram correspondingto a desired replay object; transform the complex modulation computergenerated hologram into a real positive computer generated hologram; andtransform the real positive computer generated hologram into a binarycomputer generated hologram by comparing each element of the realpositive computer generated hologram with at least one neighbouringelement and replacing the compared element with a binary value whichdepends upon the result of the comparison.